package com.ffcs.crmd.tsp.server.jdbc.entity;

import java.util.Date;
import java.util.List;

/**
 * 
 * 功能说明:子任务实体类
 *
 * @author ZHONGFUHUA
 * 
 * @since 1.0.0-SNAPSHOT
 *
 */
public class JobDetail {
    
    /**
     * 主键
     */
    private Long                 id;
    
    /**
     * 任务ID
     */
    private Long                 jobId;
    
    /**
     * 
     */
    private long                 runtimes;
    
    /**
     * 子任务名
     */
    private String               name;
    
    /**
     * 任务名称
     */
    private String               jobName;
    
    /**
     * 集群名称
     */
    private String               clusterName;
    
    /**
     * 描述
     */
    private String               description;
    
    /**
     * 是否运行
     */
    private Short                running;
    
    /**
     * 参数
     */
    private List<JobDetailParam> params;
    
    /**
     * 开始时间
     */
    private Date                 startTime = new Date();
    
    /**
     * 结束时间
     */
    private Date                 endTime;
    
    /**
     * 上次执行时间
     */
    private Date                 prevTime;
    
    /**
     * 下次执行时间
     */
    private Date                 nextTime;
    
    /**
     * 
     */
    private Integer              pageSize;
    
    /**
     * 
     */
    private Integer              pageNumber;
    
    /**
     * 功能说明: 获取主键
     *
     * @return id 主键
     */
    public Long getId() {
        return id;
    }
    
    /**
     * 功能说明: 设置主键
     *
     * @param id 主键 
     */
    public void setId(Long id) {
        this.id = id;
    }
    
    /**
     * 功能说明: 获取子任务名
     *
     * @return name 子任务名
     */
    public String getName() {
        return name;
    }
    
    /**
     * 功能说明: 设置子任务名
     *
     * @param name 子任务名 
     */
    public void setName(String name) {
        this.name = name;
    }
    
    /**
     * 功能说明: 获取任务名称
     *
     * @return jobName 任务名称
     */
    public String getJobName() {
        return jobName;
    }
    
    /**
     * 功能说明: 设置任务名称
     *
     * @param jobName 任务名称 
     */
    public void setJobName(String jobName) {
        this.jobName = jobName;
    }
    
    /**
     * 功能说明: 获取是否运行
     *
     * @return running 是否运行
     */
    public Short getRunning() {
        return running;
    }
    
    /**
     * 功能说明: 设置是否运行
     *
     * @param running 是否运行 
     */
    public void setRunning(Short running) {
        this.running = running;
    }
    
    /**
     * 功能说明: 获取描述
     *
     * @return description 描述
     */
    public String getDescription() {
        return description;
    }
    
    /**
     * 功能说明: 设置描述
     *
     * @param description 描述 
     */
    public void setDescription(String description) {
        this.description = description;
    }
    
    /**
     * 功能说明: 获取任务ID
     *
     * @return jobId 任务ID
     */
    public Long getJobId() {
        return jobId;
    }
    
    /**
     * 功能说明: 设置任务ID
     *
     * @param jobId 任务ID 
     */
    public void setJobId(Long jobId) {
        this.jobId = jobId;
    }
    
    /**
     * 功能说明: 获取开始时间
     *
     * @return startTime 开始时间
     */
    public Date getStartTime() {
        return startTime;
    }
    
    /**
     * 功能说明: 设置开始时间
     *
     * @param startTime 开始时间 
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    
    /**
     * 功能说明: 获取结束时间
     *
     * @return endTime 结束时间
     */
    public Date getEndTime() {
        return endTime;
    }
    
    /**
     * 功能说明: 设置结束时间
     *
     * @param endTime 结束时间 
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    
    /**
     * 功能说明: 获取集群名称
     *
     * @return clusterName 集群名称
     */
    public String getClusterName() {
        return clusterName;
    }
    
    /**
     * 功能说明: 设置集群名称
     *
     * @param clusterName 集群名称 
     */
    public void setClusterName(String clusterName) {
        this.clusterName = clusterName;
    }
    
    /**
     * 功能说明: 获取参数
     *
     * @return params 参数
     */
    public List<JobDetailParam> getParams() {
        return params;
    }
    
    /**
     * 功能说明: 设置参数
     *
     * @param params 参数 
     */
    public void setParams(List<JobDetailParam> params) {
        this.params = params;
    }
    
    /**
     * 功能说明: 获取上次执行时间
     *
     * @return prevTime 上次执行时间
     */
    public Date getPrevTime() {
        return prevTime;
    }
    
    /**
     * 功能说明: 设置上次执行时间
     *
     * @param prevTime 上次执行时间 
     */
    public void setPrevTime(Date prevTime) {
        this.prevTime = prevTime;
    }
    
    /**
     * 功能说明: 获取下次执行时间
     *
     * @return nextTime 下次执行时间
     */
    public Date getNextTime() {
        return nextTime;
    }
    
    /**
     * 功能说明: 设置下次执行时间
     *
     * @param nextTime 下次执行时间 
     */
    public void setNextTime(Date nextTime) {
        this.nextTime = nextTime;
    }
    
    /**
     * 功能说明: 获取
     *
     * @return runtimes 
     */
    public long getRuntimes() {
        return runtimes;
    }
    
    /**
     * 功能说明: 设置
     *
     * @param runtimes  
     */
    public void setRuntimes(long runtimes) {
        this.runtimes = runtimes;
    }
    
    /**
     * 功能说明: 获取
     *
     * @return pageSize 
     */
    public Integer getPageSize() {
        return pageSize;
    }
    
    /**
     * 功能说明: 设置
     *
     * @param pageSize  
     */
    public void setPageSize(Integer pageSize) {
        if (pageSize == null || pageSize < 0) {
            this.pageSize = 0;
        } else {
            this.pageSize = pageSize;
        }
    }
    
    /**
     * 功能说明: 获取
     *
     * @return pageNumber 
     */
    public Integer getPageNumber() {
        return pageNumber;
    }
    
    /**
     * 功能说明: 设置
     *
     * @param pageNumber  
     */
    public void setPageNumber(Integer pageNumber) {
        if (pageNumber == null || pageNumber < 0) {
            this.pageNumber = 1;
        } else {
            this.pageNumber = pageNumber;
        }
    }
}
